package com.atguigu.securitydemo1;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;


/**
 * Spring Security
 *
 * 1.Spring Security框架简介
 *
 * 1.1 概要
 * Spring 是非常流行和成功的Java应用框架,Spring Security正是Spring家族中的成员。
 * Spring Security基于Spring框架,提供了一套Web应用安全性的完整解决方案。
 *
 * 正如你可能知道的关于安全方面的两个主要区域是"认证"和"授权"(或者访问控制),
 * 一般来说,Web应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,
 * 这两点也是Spring Security重要核心功能。
 *
 * (1) 用户认证指的是: 验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。
 * 用户认证一般要求用户提供用户名和密码。系统通过效验用户名和密码来完成认证过程。
 * 通俗点说就系统认为用户是否能登录。
 *
 * (2) 用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限
 * 是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,
 * 系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。通俗点讲就是系统判断用户
 * 是否有权限去做某些事情。
 *
 */
@MapperScan("com.atguigu.securitydemo1.mapper")
@SpringBootApplication
//开始Spring security的注解
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
public class Securitydemo1Application {

    public static void main(String[] args) {
        SpringApplication.run(Securitydemo1Application.class, args);
    }

}
